非線形回帰分析 - 12

二次曲線のパラメータの推定

a2,をシフト

\(\Large \displaystyle y_i = a_0 + a_1 x_i + a_2 x_i^2 \)

 

a0       -7.8876 -1.6542 4.5791 10.8124 17.0458
a1       9.6149 5.0149 0.4149 -4.1851 -8.7851
a2       0.1614 0.6614 1.1614 1.6614 2.1614
δ       -1 -0.5 0 0.5 1
                 
                 
i x y   \( \hat{y} \)
1 0 5   -7.8876 -1.6542 4.5791 10.8124 17.0458
2 2 10   11.9879 11.0212 10.0546 9.0879 8.1213
3 3 15   22.4099 19.3433 16.2766 13.2099 10.1433
4 4 25   33.1548 28.9881 24.8215 20.6548 16.4881
5 6 50   55.6131 52.2464 48.8797 45.5131 42.1464
6 9 102   91.7219 97.0552 102.3885 107.7219 113.0552
                 
S (\(y_i - \hat{y} \)の平方和)       428.5961 109.5885

3.2476
(Se)

109.5734 428.5659
dS (Seとの差分)       425.3484 106.3409 0 106.3258 425.3182
                 

 

切片を変えて傾きを近似すると,このようなグラフを得ることができます.

ここで,S,Se,は,

・残差平方和

推定値からの残差

\(\Large \displaystyle Se = \sum_{i=1}^{n} \left( y_i -\hat{a_0} - \hat{a_1} x_i - \hat{a_2} x_i^2 \right)^2 \)

a2をシフトさせたときの,推定値からの残差

\(\Large \displaystyle S = \sum_{i=1}^{n} \left( y_i -\hat{a_0} - \hat{a_1} x_i - a_2 x_i^2 \right)^2 \)

であり,傾きの値a2を,δ,だけシフトさせて,固定し,その際のa0, a1の推定値をソルバーで推定しました.

dS,を見ていただけるとわかるように,推定値,Seが一番小さく,ほぼ左右対称に増加していることがわかります.

グラフ化すると,

のように,二乗+定数できれいに近似できます.

二次曲線の近似においてもきれいに近似でき,

\(\Large \displaystyle y = 3.2476 + 425.333 \ \delta^2 \)

ここで,分散値は,

・分散

\(\Large \displaystyle Ve = \frac{1}{n-3} \sum_{i=1}^{n} \left(y_i -\hat{a_0} - \hat{a_1} x_i \right)^2 = \frac{Se}{n-2} = \frac{3.2476}{6-3} = 1.0826 \)

であり(a0,a1,の二つのパラメータが2つあるので,自由度は,n-3),

\(\Large \displaystyle 425.333 \ \delta^2 = 1.0826 \)

となるδがSEとなるので,

\(\Large \displaystyle \delta^2 = \frac{1.0826}{425.333} = 0.002545 \)

\(\Large \displaystyle SE_{a_0} = \sqrt{\delta^2} = 0.05045 \)

と推定できます.

 

・Rによる推定

Rでの近似を行ってみると,

プログラムは,

xx <- c(0,2,3,4,6,9)
yy <- c(5,10,15,25,50,102)
plot(xx,yy)
fm<-nls(yy~a0+a1*xx+a2*xx^2,start=c(a0=5,a1=1,a2=1),trace=TRUE)
summary(fm)

で,結果は,

Parameters:
Estimate Std. Error t value Pr(>|t|)
a0 4.57931 0.96042 4.768 0.01752 *
a1 0.41473 0.4869 0.852 0.45693
a2 1.16144 0.05045 23.022 0.00018 ***

とドンピシャ一致することがわかります.

Kyplotにおいても,

推定値 標準誤差(SE)
A1 4.57931 0.96042
A2 0.414734 0.486903
A3 1.161442 0.05045

と同じ結果となります(ということはこの二つのソフトは同じアルゴリズムで標準誤差を計算?)

このように,二次曲線においては,各ソフトと同一の計算結果を示します.

次は,指数関数,の場合を検証しましょう.

 

l tr